<?php
/**
*+-------IMBA后台管理广告位业务数据的存储操作--------+
*+---------------------------------------------------+
*+------------基于MongoDB存储的----------------------+
*+---------------------------------------------------+
*+-@author susy.liang <liangling@ilongyuan.com.cn>---+
*+---------------------------------------------------+
*/
namespace Admin\Service;
use \Common\Service\BaseService;

Class AdsService extends BaseService
{
	//id, code(广告位标识), name(广告位名称), template(广告位模板), status(状态),
	//create_time(创建时间),update_time(更新时间)
	// 状态
	CONST STATUS_PEDDING = 0;	// 审核 pedding
	CONST STATUS_PASS 	 = 1;	// 展示 pass
	CONST STATUS_DEL  	 = -1;  // 删除 delete

	//ERROR 错误
	CONST ERROR_TITLE 	 = '标题不能为空!';

	//ERROR 错误
	CONST ERROR_CODE 	 = '标识不能为空!';

	//标识不唯一错误
	CONST ERROR_CODE_UNIQUE	= '标识已存在';

	//标识非纯英文错误
	CONST ERROR_CODE_EN	= '标识必须纯英文';

	//自动验证
	protected $_validate = array(
		array('name', 'require', self::ERROR_TITLE, self::MUST_VALIDATE , 'regex', self::MODEL_BOTH),
		array('code', 'require', self::ERROR_CODE, self::MUST_VALIDATE , 'regex', self::MODEL_BOTH),
		array('code', 'english', self::ERROR_CODE_EN, self::MUST_VALIDATE , 'regex', self::MODEL_BOTH),
		array('code', '', self::ERROR_CODE_UNIQUE, self::MUST_VALIDATE , 'unique', self::MODEL_BOTH),
	);

	//自动完成
	protected $_auto = array(
        array('name', 'htmlspecialchars', self::MODEL_BOTH, 'function'),
        array('template', 'htmlspecialchars', self::MODEL_BOTH, 'function'),
        array('id', intval, self::MODEL_UPDATE, 'function'),
        array('create_time', NOW_TIME, self::MODEL_INSERT),
        array('update_time', NOW_TIME, self::MODEL_BOTH),
        array('status', 'intval', self::MODEL_BOTH, 'function'),
    );

	/**
	*获取广告位信息
	*@param array $filter 筛选条件
	*@param string $field 返回的列
	*@param boolean $keyMap 是否需要设置键值为id标识的值 false|no true|yes
	*@return array
	*/
    public function getList($filter=array(), $field='', $keyMap=false){
    	$listData = $this->where($filter)->field($field)->select();
    	if($keyMap === true){
    		$temp = array();
    		foreach ($listData as $key => $value) {
    			$temp[$value['id']] = $value;
    		}
    		$listData = $temp;
    		unset($temp);
    	}
    	return $listData;
    }
}